Classless Java Interface-Based Programming for the Masses
نویسندگان
چکیده
This paper introduces interface-based object-oriented programming (IB). Unlike class-based OO programming (CB), in IB there is no need for classes. To support state, IB uses abstract state operations, such as getters, setters or clone-like methods. This new way to deal with state allows flexibility not typically available in CB. In IB state (including mutable state) can be type-refined in subtypes. The combination of a purely IB style of programming and type-refinement enables powerful idioms using multiple inheritance and state. To introduce IB to programmers we created Classless Java: an embedding of IB directly into Java. Classless Java uses annotation processing for code generation, and relies on new features of Java 8 for interfaces. The code generation techniques used in Classless Java have interesting properties, including guarantees that no type errors occur in generated code and good integration with IDE’s. We illustrate the usefulness of IB and Classless Java through various examples and case studies.
منابع مشابه
Modelface: an application programming interface (API) for homology modeling studies using Modeller software
An interactive application, Modelface, was presented for Modeller software based on windows platform. The application is able to run all steps of homology modeling including pdb to fasta generation, running clustal, model building and loop refinement. Other modules of modeler including energy calculation, energy minimization and the ability to make single point mutations in the PDB structures a...
متن کاملModelface: an application programming interface (API) for homology modeling studies using Modeller software
An interactive application, Modelface, was presented for Modeller software based on windows platform. The application is able to run all steps of homology modeling including pdb to fasta generation, running clustal, model building and loop refinement. Other modules of modeler including energy calculation, energy minimization and the ability to make single point mutations in the PDB structures a...
متن کاملCloud-DLT: A Disruptive Cloud based Digital Library using Lean Design Technique
Cloud based libraries connect individuals to on-demand information needed to solve problems, expand frontiers and re-shape the future. In the era of disruptive computing, a digital library model using cloud computing Infrastructure as a Service (IaaS) is proposed. The proof of concept is used to demonstrate the viability of deploying and running virtualized digital library in Nigerian higher in...
متن کاملHow to Access Matlab from Java
Combining the strengths of the Java programming language and The Mathworks’ Matlab offers interesting new possibilities for application development. Java and its J2EE development environment are well established today as to provide solutions for dynamic Web services, large-scale distributed systems, and other network-centric applications. Matlab is a technical computing environment with a high-...
متن کاملJava-based graphical user interface for MRUI, a software package for quantitation of in vivo/medical magnetic resonance spectroscopy signals
This article describes a Java-based graphical user interface for the magnetic resonance user interface (MRUI) quantitation package. This package allows MR spectroscopists to easily perform time-domain analysis of in vivo/medical MR spectroscopy data. We have found that the Java programming language is very well suited for developing highly interactive graphical software applications such as the...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016